Applications for monitoring data processing systems play a key role in their management. For example, those applications are used to detect any critical condition in the system (so that appropriate corrective actions can be taken in an attempt to remedy the situation). Typically, the essential information relating to the critical conditions being detected is logged; the information is then available for off-line analysis through data warehousing techniques.
For this purpose, selected performance parameters of the system (such as a processing power consumption, a memory space usage, a bandwidth occupation, and the like) are measured periodically. The information so obtained is then interpreted (for example, according to a decision tree) so as to identify any critical condition of the system. For example, the occurrence of a low response time of the system can be inferred when both the processing power consumption and the memory space usage exceed corresponding threshold values. The monitoring applications known in the art are configured with predefined corrective actions, which are launched in response to the detection of corresponding critical conditions.
A drawback of the solution described above is that sometimes system administrators might be afraid to concretely use the actions offered by the monitoring engine. They prefer just to be notified of a problem and then to decide what to do to correct it manually. This is due to a lack of trust in the control action done by the monitoring system. To mitigate this feeling and this lack of trust, a validation mechanism would be helpful.
A possible solution could be that of conditioning the execution of a corrective action to the approval of the system administrator. Of course this solution would heavily compromise the autonomy of the monitoring system and also its efficiency. On the other hand a rigid threshold based decision mechanism could be not well tuned on the needs and the peculiarities of the monitored system.